/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ManagedBeans;

import Librerias.Producto;
import Sesiones.SesionCarrito;
import javax.inject.Named;
import javax.enterprise.context.Dependent;
import javax.enterprise.context.RequestScoped;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;


@Named(value = "managedBeanInfo")
@RequestScoped
public class ManagedBeanInfo {
    private String nombre;
    private String descripcion;
    private String imagen;
    private Double precio;
    private int stock;
    private int idProducto;
    
    private Producto producto;
    
    public ManagedBeanInfo() {
    }

    public boolean validaParametros(){
        return (FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id")!=null);
    }
    public void cargaInfo(){
        idProducto = Integer.parseInt(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id"));
        System.out.println("Producto: " + idProducto);

        EntityManagerFactory emf = Persistence.createEntityManagerFactory("Tienda_slorenzoPU");
        EntityManager em = emf.createEntityManager();
        Query q = em.createNamedQuery("Producto.findById");
        q.setParameter("id", idProducto);
        Producto p = (Producto) q.getSingleResult();
        em.close();
        emf.close();
        this.setProducto(p);
        this.setDescripcion(p.getDescripcion());
        this.setImagen(p.getImagen());
        this.setNombre(p.getNombre());
        this.setPrecio(p.getPrecio());
        this.setStock(p.getStock());
            
        System.out.println(nombre);
    }
    
    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getImagen() {
        return imagen;
    }

    public void setImagen(String imagen) {
        this.imagen = imagen;
    }

    public Double getPrecio() {
        return precio;
    }

    public void setPrecio(Double precio) {
        this.precio = precio;
    }

    public int getStock() {
        return stock;
    }

    public void setStock(int stock) {
        this.stock = stock;
    }

    public Producto getProducto() {
        return producto;
    }

    public void setProducto(Producto producto) {
        this.producto = producto;
    }
    
    public void aniadirCarrito(int c){
        SesionCarrito sc = new SesionCarrito();
        
        sc.añadirProducto(producto, c);
        System.out.println("Producto añadido");
    }
    
    public void holaMundo(){
        System.out.println("hola mundo");
    }
}
